package m.system.task;

import java.lang.annotation.*;

/** 同一定时器不会叠加执行
 * 年月日时分秒定时器，注解在无参方法上
 * 什么都不设，则为每秒执行
 */
@Retention(RetentionPolicy.RUNTIME) // 注解会在class字节码文件中存在，在运行时可以通过反射获取到
@Target({ElementType.METHOD})//定义注解的作用目标**作用范围字段、枚举的常量/方法
@Documented//说明该注解将被包含在javadoc中
public @interface TaskTimerRunMeta {
    /**
     * 空代表不限，有值的话代表指定年执行
     */
    int[] year() default {};
    /**
     * 空代表不限，有值的话代表指定月执行  1-12
     */
    int[] month() default {};
    /**
     * 空代表不限，有值的话代表指定日执行  1-31
     */
    int[] day() default {};
    /**
     * 空代表不限，有值的话代表指定周执行  0-6 0周日
     */
    int[] week() default {};
    /**
     * 空代表不限，有值的话代表指定时执行  0-23
     */
    int[] hour() default {};
    /**
     * 空代表不限，有值的话代表指定分执行  0-59
     */
    int[] minute() default {};
    /**
     * 空代表不限，有值的话代表指定秒执行  0-59
     */
    int[] second() default {};
}
